const path = require('path');
// MIME 类型
// MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。
// 按照文件扩展名排列的 Mime 类型列表


// 扩展名': '类型/子类型

const mimeTypes = {
  'json': 'application/json', // - 常用
  'css': 'text/css', // - 常用
  'gif': 'image/gif', // - 常用
  'ico': 'image/x-icon', // - 常用
  'html': 'text/html', // - 常用
  'jpeg': 'image/jpeg', // - 常用
  'jpg': 'image/jpeg', // - 常用
  'js': 'text/javascript', // - 常用
  'pdf': 'application/pdf', // - 常用
  'png': 'image/png', // - 常用
  'svg': 'image/svg+xml', // - 常用
  'xml': 'text/xml', // - 常用
  'swf': 'application/x-shockwave-flash', // - 常用
  'tiff': 'image/tiff', // - 常用
  'txt': 'text/plain', // - 常用
  'wav': 'audio/x-wav', // - 常用
  'wma': 'audio/x-ms-wma', // - 常用
  'wmv': 'audio/x-ms-wmv', // - 常用
  'au': 'audio/basic',
  'avi': 'video/x-msvideo',
  'bin': 'application/octet-stream',
  'bmp': 'image/bmp',
  'doc': 'application/msword',
  'gtar': 'application/x-gtar',
  'gz': 'application/x-gzip',
  'htm': 'text/html',
  'htt': 'text/webviewhtml',
  'jpe': 'image/jpeg',
  'mid': 'audio/mid',
  'mov': 'video/quicktime',
  'movie': 'video/x-sgi-movie',
  'mp2': 'video/mpeg',
  'mp3': 'audio/mpeg',
  'mpa': 'video/mpeg',
  'mpe': 'video/mpeg',
  'mpeg': 'video/mpeg',
  'mpg': 'video/mpeg',
  'pbm': 'image/x-portable-bitmap',
  'pps': 'application/vnd.ms-powerpoint',
  'ppt': 'application/vnd.ms-powerpoint',
  'roff': 'application/x-troff',
  'src': 'application/x-wais-source',
  'tar': 'application/x-tar',
  'tgz': 'application/x-compressed',
  'tif': 'image/tiff',
  'zip': 'application/zip'
};


module.exports = (filePath) => {
  let ext = path.extname(filePath) // .txt
    .split('.') // ['','txt']
    .pop() // ['txt']
    .toLowerCase(); // ['txt']

  if (!ext) {
    ext = filePath; //如果扩展名不存在 就用完整路径名代替
  }
  // 最终返回莹莹的mime类型
  // 如果没有对应的mime类型就用text/plain代替
  return mimeTypes[ext] || mimeTypes['txt'];
};
